Tuple to Union
实现泛型TupleToUnion<T>
,它返回元组所有值的合集。
// 您可以假设在此挑战中我们仅处理对象。数组,函数,类等都无需考虑。但是,您仍然可以通过覆盖尽可能多的不同案例来挑战自己。
type Arr = ['1', '2', '3']
type Test = TupleToUnion<Arr> // expected to be '1' | '2' | '3'
/**
* 思路:
* 把对象转为 元组集合
*
*
*/
type MyExpect<T, U> = U extends keyof T ? number : never;
type TupleToUnion<T extends ReadonlyArray<unknown>> = T[MyExpect<
keyof T,
number
>];
type TupleToUnion<T extends unknown> = T[number];